import { AppDataSource } from './data.source'
import { User } from './entity/User'

// 首先初始化
AppDataSource.initialize().then(async () => {
    // 查询构建器   select user.first,user.lastName from user
    // 创建一个针对User实合格的查询 构建起，并将实体类命名为user
    const queryBuilder = AppDataSource.manager.createQueryBuilder()
    // 选择查询中返回的字段
    queryBuilder.select(['user.firstName', 'user.lastName']);
    // 添加更多的字段
    queryBuilder.addSelect('user.age');
    // 指定查询的主表
    queryBuilder.from(User, 'user');
    // 通过where指定查询条件,查询user id为2的
    queryBuilder.where("user.id =:id", { id: 1 })
    // 还可以添加额外的条件
    queryBuilder.andWhere("user.isActive=:isActive", { isActive: true })
    // 指定要返回一条还是多条
    const queryBuilder_user = await queryBuilder.getOne();
    const queryBuilder_users = await queryBuilder.getMany();
    console.log(queryBuilder_user);
    console.log(queryBuilder_users);

    // 删除
    queryBuilder.delete().from(User).where("id=:id",{id:2}).execute();
})